/*
 * State.h
 *
 *  Created on: 10/01/2011
 *      Author: Nenem
 */

#ifndef STATE_H_
#define STATE_H_

#include "Scenery.h"
#include "Graphics.h"

template <class entity_type>
class State {
public:
	State() {}

	virtual ~State() {}

	virtual void Enter(int delta, int time, entity_type*, Scenery *, Graphics*)=0;

	virtual void Execute(int delta, int time, entity_type*, Scenery *, Graphics*)=0;

	virtual void Exit(int delta, int time, entity_type*, Scenery *, Graphics*)=0;
};

#endif /* STATE_H_ */
